package org.fast.easy.system.upms.domain.vo;

import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.Month;
import java.time.YearMonth;
import java.util.List;

/**
 * 类说明
 *
 * @author YanMing
 * @date 2024/6/21
 */
@Data
public class UserMonthScheduleCount  implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    private Integer year;
    private Integer month;
    Integer[] dayCount;

    public UserMonthScheduleCount(Integer year, Integer month) {
        Month currentMonthEnum = null;
        if (year == null || year <= 0) {
            // 直接获取当前年份的数值，LocalDate.now()用于获取当前日期，然后通过.getYear()获取年份的数值。
            year = LocalDate.now().getYear();
        }
        if (month == null || month <= 0 || month > 12) {
            // 直接获取当前月份的枚举值，LocalDate.now()用于获取当前日期，然后通过.getMonthValue()获取月份的数值（1-12），或通过.getMonth()获取Month枚举类型，表示具体的月份名称。
            currentMonthEnum = LocalDate.now().getMonth();
            month = currentMonthEnum.getValue();
        }
        // 创建YearMonth对象
        YearMonth yearMonth = YearMonth.of(year, month);
        // 获取该月的最大天数
        int maxDays = yearMonth.lengthOfMonth();
        this.year = year;
        this.month = month;
        this.dayCount = new Integer[maxDays];
    }
}
